Dependencies

WOLF has the following dependencies:

  • Mandatory: CMake, Eigen, yaml-cpp, yaml-schema-cpp and spdlog.

  • Optional, recommended: SuiteSparse and Ceres.

  • Optional: Boost.

The optional dependencies are detected automatically when WOLF is configured with CMake, and the CMake output reports which ones were found.

CMake

Building tool used by WOLF and by some of its dependencies. In order to install cmake please follow the instructions at cmake site. WOLF requires >= CMake-3.18 which can usually be installed via repository.

Eigen

Eigen is a linear algebra, header library. WOLF requires Eigen >= 3.3.7. We recommend to install it via apt.

sudo apt install libeigen3-dev

yaml-cpp

WOLF uses YAML files for configuration and for saving and loading workspaces. Minimum version required is 0.7.

From ubuntu 22.04, it can be installed via apt:

sudo apt install libyaml-cpp-dev

In previous ubuntu distributions, it has to be installed via source.

yaml-schema-cpp

yaml-schema-cpp is a library for specifying and checking the structure, entries and types of YAML files.

To install it:

git clone -b main --depth 1 https://github.com/joanvallve/yaml-schema-cpp.git
cd yaml-schema-cpp
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=release -DBUILD_EXAMPLES=ON -DBUILD_TESTS=ON ..
make
sudo make install

Note

To install it in a local folder without sudo, see local installation.

spdlog

WOLF uses spdlog library for logging. Minimum version required is v1.0.0. It can be installed via apt:

sudo apt install libspdlog-dev

Boost (optional)

Boost 1.73 or higher is an optional dependency. If found, the macro Macros for processors is fully operative.